home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Danny Amor's Online Library
/
Danny Amor's Online Library - Volume 1.iso
/
html
/
faqs
/
faq
/
modula-2-faq
< prev
next >
Wrap
Text File
|
1995-07-25
|
19KB
|
540 lines
Subject: comp.lang.modula2: Answers to Common Questions - v1.10 94.11.17
Newsgroups: comp.lang.modula2,comp.answers,news.answers
From: randy@psg.com (Randy Bush)
Date: 18 Nov 1994 05:03:06 -0800
Archive-name: Modula-2-faq
Last-modified: 1994/11/17
Version: 1.10
Originally-By: mgallo@iptech.com (Mike Gallo)
Maintained-By: randy@psg.com (Randy Bush)
Copyright 1992-4, M Gallo and R Bush. All rights reserved. May be
distributed for free only in toto, including this notice.
Additions corrections solicited. Commercials and commercial products are
intentionally undermentioned. Implementors are preferred to distributors.
CONTENT
1) What is comp.lang.modula2?
2) What is Modula-2?
3) What about Modula-2 standardization?
4) What are Oberon and Oberon-2?
5) What about Modula-3, Object Oberon, and Seneca?
6) Where can I find implementations of Modula-2?
7) Where can I find implementations of Oberon[-2]?
8) Where can I find interesting libraries and sources?
9) Some popular FTP sites
1) What is comp.lang.modula2?
comp.lang.modula2 is a forum for the discussion of the Modula-2 programming
language and related topics. Prominent "related topics" have been the Oberon
languages, Modula-3, the new ISO Modula-derived languages, etc. The newsgroup
is gated to the FidoNet echo conference MODULA-2.
Folk with only Internet E-Mail access can participate in the discussion by
joining the INFO-M2 mailing list. To do this, send an E-Mail message to
listserv@ucf1vm.cc.ucf.edu, with the following in the message body:
subscribe info-M2 yourFirstname yourLastName
This server also has a very large archive of previous messages.
2) What is Modula-2?
Modula-2 is a programming language designed by Niklaus Wirth of Pascal fame.
Among other things, it features strong typing,modules, a rich variety of data
types, a powerful set of control statements, procedure types, opaque types, and
coroutines.
3) What about Modula-2 standardization?
There is no standard for the Modula-2 language or library beyond Niklaus
Wirth's classic text, "Programming in Modula-2". There is an ISO committee,
ISO/JTC1/SC22/WG13, which has circulated a number of drafts which have varied
between editions. The current edition is ISO/IEC DIS 10514:1994, August 1994.
To find out what's happening with standardization, contact the chair of WG13,
Mark Woodman, m.woodman@open.ac.uk.
4) What are Oberon and Oberon-2?
The Oberon language was a part of Wirth's Oberon operating system. Oberon is
the successor to Modula-2 by its original designer,Niklaus Wirth of ETH,
Zurich. In brief, it removes variant records, opaque types, enumerations,
subranges, the CARDINAL type, local modules, automatic qualifications, general
indexing, the FOR and WITH statements, and even the notion of a program or
main module. Oberon adds type extension (inheritance) and, in its purest
form, automatic garbage collection.
Oberon-2 is Oberon with a small set of extensions by H. Moessenboeck, also of
ETH, Zurich. These extensions are type-bound procedures (methods), read-only
export, open array variables, a WITH statement with variants, and the
reintroduction of the FOR loop.
More detailed information can be found in "Software: Practice and Experience"
(July 1988, September 1989) and by anonymous ftp from the host
neptune.inf.ethz.ch:/Oberon/Docu.
"Project Oberon, The Design of an Operating System and Compiler"
N. Wirth and J. Gutknecht
ACM Press and Addison-Weseley Publishing Company, 1992
ISBN 0-201-54428-8
neptune.inf.ethz.ch (129.132.101.33)
in ~ftp/Oberon/Examples/ProjectOberon.tar.Z
File ~ftp/Oberon/Examples/readme.PO gives some further information.
"Programming in Oberon", Reiser & Wirth, ACM Press, 320 pgs, 1992.
"The Programming Language Oberon-2", Moessenboeck & Wirth, _Structured
Programming_, Vol. 12, No. 4, pp. 179-195, 1991.
5) What about Modula-3, Object Oberon, and Seneca?
Modula-3 is an interesting language designed at DEC Software Research Center,
also as a successor to Modula-2. Unless there is a specific question about
how it relates to Modula-2 or Oberon, posts about Modula-3 would be better
directed to Comp.lang.modula3.
Object Oberon is an Oberon variant designed by H. Moessenboeck and J. Templ
of ETH, Zurich. It eventually evolved into Oberon-2.
Seneca is an Oberon variant focusing on numerical applications and is by R.
Griesemer of ETH, Zurich. It is still under development.
6) Where can I find (preferably free) implementations of Modula-2?
While there have been several implementations of Modula-2, they are not as
numerous nor as easy to find as, for example, C. Some implementations are
listed below. These are merely some commonly used implementations, and should
not be taken as a recommendation of any of the following products. Only
implementors are listed, not distribuors. Free or shareware implementations
receive preferential treatment, as they encourage the new and/or experimental
Modulan.
For MS-DOS:
Fitted Software Tools
P.O. Box 867403
Plano, TX 75086
USA
ftp at ftp.psg.com:pub/modula-2/pc
FidoNet .REQuest from 1:105/6
Gardens Point Modula-2
ftp at ftp.psg.com:pub/modula-2/pc
Clarion Topspeed Modula-2
Clarion Software
150 East Sample Road
Pompano Beach, FL 33064
USA
Extasy Modula-2 (demo version)
oberon.meakins.mcgill.ca:/Multiscope Modula-2
Multiscope, Inc.
1235 Pear Ave.
Mountain View, CA 94043
USA
(415) 968-4892
Stony Brook Software
187 East Wilbur, Suite 9
Thousand Oaks, CA 91360
USA
Tel: +1 (805) 496 5837 (tech Support)
Fax; +1 (805) 496 7429
Sun-4:
The only free Sun4-implementation I've heard of is that of Metrowerks
(ftp 132.208.12.5, login metro, passwd release4.0) but I haven't tested
it yet.
-- borchert@mathematik.uni-ulm.de
While Sun (more properly SunPro) has discontinued direct support of M2,
responsibility for it has been transferred to Edinburgh Portable
Compilers Ltd (see below).
Sun-3:
From: borchert@MATHEMATIK.UNI-ULM.DE (Andreas Borchert)
Ulm's Modula-2 system for SUN 3 is now available via anonymous ftp from
titania.mathematik.uni-ulm.de (134.60.66.21). You'll find it in the
subdirectory pub/soft/modula/ulm/sun3.
Macintosh:
MacMETH Modula-2 for the Mac
neptune.inf.ethz.ch:~/macmeth/*
ftp.psg.com:~/pub/.modula-2/macMETH/*
p1 GmbH
Hogenbergstr. 20
W-80686 Munich 21
Germany
Tel : +49(89)5461310
Fax : +49(89)5802597
E-Mail: GER.XSE0109@AppleLink.Apple.COM (Elmar Henne)
(features Object oriented extensions which are compatible with Apple's
Object Pascal and MacApp)
Metrowerks, Inc.
The Trimex Bldg, Rte 11
Mooers, NY 12958
USA
Tel : (514) 458-2018
Email: achim@mips1.info.uqam.ca (Marcel Achim)
(Wirth's one-pass ported to MacOS, module size limited to 32k)
VMS:
Florian Matthes
Fachbereich Informatik
Universitaet Hamburg Tel. + (49) 40 4123 4144
Schlueterstrasse 70 Fax. + (49) 40 4123 6122
D-20146 Hamburg 13 e-mail: matthes@dbis1.informatik.uni-hamburg.de
Germany
TERRA Datentechnik
Bahnhofstrasse 33
CH-8703 Erlenbach
Switzerland
(M2VMS (formerly Logitech's?) + distributor for others)
Phone: +41 1 910 35 55
Fax: +41 1 910 19 92
BBS: +41 1 910 35 31 (300 - 9600 baud, 8, N, 1)
Misc:
A Modula-2 compiler for VAX BSD & ULTRIX and for MIPS/ULTRIX is available
via FTP from gatekeeper.dec.com:pub/DEC/Modula-2.
2i Industrial Informatics GmbH
Haierweg 20e
D-79114 Freiburg
Germany
(MOCKA Modula-2 for DEC VAX(VMS&ULTRIX) & maybe others)
( there is some doubt they are still active )
A+L AG
D"aderiz 61
CH-2540 Grenchen
(From: hartmut@oberon.nbg.sub.org (Hartmut Goebel)
(distributes both a M2 and an Oberon-2 compiler for AmigaOS)
Armadillo Computing
5225 Marymount Drive
Austin, Texas 78723 USA
512/926-0360
Internet: jolinger@bix.com
(M2 for Amiga)
(From: jolinger@bix.com)
Associated Computer Experts b.v.
Van Eeghenstraat 100
Amsterdam 1071GL
Netherlands
(Modula-2 for 680x0)
Edinburgh Portable Compilers, Ltd.
17 Alva Street
Edinburgh EH2 4PH
UK
upport@epc.ed.ac.uk voice: +44 31 225 6262 fax: +44 31 225 6644
20 Victor Square
Scotts Valley
California 95066
info@epc.com +1 408 438 1851
(SCO Unix V.[34], Motorola 88000 UNIX V.[34], SPARC UNIX & Solaris,
RS/6000 AIX)
Gardens Point Modula-2
Prof. John Gough
Queensland University of Technology
Gardens Point Branch
2 George Street
GPO Box 2434
Brisbane, Queensland 4001
Australia
+61 7-864-2132 (voice)
+61 7-864-1801 (fax)
(for DOS and most UNIX workstations)
The GMD Modula-2 Compiler MOCKA is available for
system | operating system | processor |
-------------+---------------------+---------------------+
SUN 4 | SUN OS | SPARC |
SUN 4 | Solaris2.x/SunOS 5.0| SPARC |
DEC Station | ULTRIX | R3000, R2000 (MIPS) |
Silicon | IRIX | R3000, R2000 (MIPS) | *
Graphics | | |
Sony NEWS | News | MC 68020 mit 68881 | *
SUN 3 | SUN OS | MC 68020 mit 68881 |
PCS Cadmus | UNIX | MC 68020 mit 68881 | *
NeXT | Mach/UNIX | MC 68020 mit 68881 | *
HP 9000/300 | HPUX | MC 68020 mit 68881 | *
HP 9000/700 | HPUX | C back end |
RS6000 | AIX | C back end | *
VAX | UNIX (BSD) / ULTRIX | VAX | *
PC | Linux | 80386 | +
PC | 386BSD | 80386 | +
Transputer | Without own O.S. but| T800, T414 |
| with access of UNIX | |
| from a host computer| |
C-back end | UNIX | different |
translates | | |
M-2 To C | | |
i44s10.ira.uka.de in /pub/mocka/linux
sunsite.unc.edu in /pub/Linux/Incoming
tsx-11.mit.edu in /incoming
Introl Corporation
9220 W. Howard Avenue 647 W. Virginia St.
Milwaukee, WI 53288 Milwaukee, WI 53204
U.S.A>
(Cross compiler for targets H630x, M680x, M680x0, NS32000)
Jefferson Software
12416 N. 28th Dr. #18-236
Phoenix, AZ 85029-2434
U.S.A.
(Jefferson Modula-2 for Atari ST (and others?))
Mandeno Granville Electronics Ltd.
128 Grange Rd.
Auckland 3
New Zealand.
ph +64 9 6300558
fax =64 9 6301720
(compiler available for the Intel 8051 family of Micro's)
(From: dekker@decus.org.nz)
Masthaven Development Limited
East Suite, 511 Coldham Lane
Cambridge CB1 3LN
United Kingdom
(Modula-2 for 68000 UNIX)
Megamax
1200 East Collins, Suite 214
Richardson, TX 75081
U.S.A.
(Modula-2 for Atari ST)
ModulaWare GmbH
GraphicSystems & Modula-2 Software
Wilhelstrasse 17A
D-91054 Erlangen
Phone: 49-9131/208395
Fax: 49-9131/28205
e-mail: g_dotzel@ame.nbg.sub.org
(distributor for many platforms)
Rowley Associates
32 Rowley
Cam, Dursley
Glos. GL11 5NT
United Kingdom
(Modula-2 for "most platforms")
(ROMable, realtime, ... specialties)
Vail Silicon Tools Inc.
Box 165
Pompano Beach, FL 33069
U.S.A.
(cross-compiler (PC host) for 8051 controller)
WATCOM
415 Phillip Street
Waterloo, Ontario N2L 3X2
Canada
Tel.: (519) 886-3700
FAX: (519) 747-4971
BBS: (519) 884-2103
Telex: 06-955458
email: tech@watcom.on.ca
(Modula-2 VM/SP CMS)
[ m2c, a Modula-2 to C translator kit ]
From: sgccseh@citecuc.citec.oz.au (Stephen Hocking)
It is in ftp.gmd.de:/gmd/cocktail/mtc.tar.Z where the bloke who wrote it
all (Josef Grosch) is based. You will also need reuse.tar.Z and
front.tar.Z from the same directory. For those interested in compilers,
that directory is a goldmine.
Ross L Richardson <rlr@postoffice.utas.edu.au> comments:
I believe mtc was originally written by M[atthias] Martin, as some kind
of Diploma project.
Modula-2*
Modula-2* Compiler Available
Modula-2* constructs allow for clear and portable parallel software
without intolerable loss of efficiency. The following list contains
the main advances of Modula-2*:
o The programming model of Modula-2* is a strict superset of data
parallelism. It allows both synchronous and asynchronous parallel
programs.
o Modula-2* is problem-oriented in the sense that the programmer can
choose the degree of parallelism and mix the control mode (SIMD- or
MIMD-like) as needed by the intended algorithm.
o Parallelism may be nested to arbitrary depth.
o Procedures may be called from sequential or parallel contexts and can
themselves generate parallel activity without any restrictions.
o Most Modula-2* programs can be translated into efficient code for both
SIMD and MIMD architectures.
I386 = 386/486/Pentium PC running BSDI/386 Unix (sequential)
KSRP = Kendall Square Research KSR-1/KSR-2 running KSR-OS (parallel)
KSRS = Kendall Square Research KSR-1/KSR-2 running KSR-OS (sequential)
LINX = 386/486/Pentium PC running Linux (sequential)
MASP = MasPar MP-1/MP-2 with DECStation frontend running MP-Ultrix
(parallel)
MIPS = R3000/R4000 DECStation running Ultrix (sequential)
SUN3 = 680x0 Sun-3 running SunOS (sequential)
SUN4 = SPARC Sun-4/SparcStation running SunOS (sequential)
You can get the IPD Modula-2* distributions for all supported
architectures by anonymous ftp from "ftp.ira.uka.de" [129.13.10.90] in the
directory "pub/programming/modula2star".
7) Where can I find implementations of Oberon(-2)?
To repeat, this should not be taken as a recommendation of any of the
following products, but. . .
ETH, Zurich has released free implementations of the Oberon system. These
include Oberon compilers. They are available by anonymous ftp at
neptune.inf.ethz.ch:/Oberon/* or gatekeeper.dec.com:/pub/plan/oberon/*.
Oberon-M is an independently produced Oberon compiler for MS-DOS systems that
can also be found at neptune and gatekeeper.
There is also a Modula-2/Oberon-2 to C translator available through
Real Time Associates Ltd.
Canning House
59 Canning Road
Croydon, Surrey CRO 6QF
UK
From: thutt@THAMA1.APGEA.ARMY.MIL
The source to the Oberon compilers is not publicly available however, you
can license the front end and/or the back end for the Oberon-2 compiler
from ETH for 1000 Swiss Francs. The license agreement does prohibits you
from redistributing the source, but you are free to do whatever you want
with any derivative product, provided you give ETH credit for the original
compiler source.
You are also required to make ETH aware of your product, and provide the
product to them should they ask. It does not state if it needs to be
source or executable code, however.
It is a pretty loose agreement, but not so loose to hinder ETH. 1000 SFr
is about 757 dollars, as of last month.
AmigaOberon:
Fridtjof Siebert
fridi@amokst.stgt.sub.org
8) Where can I find interesting libraries and sources?
The FTP sites listed in 9.
Amiga Sources:
From: htgoebel@cip.informatik.uni-erlangen.de (hartmut Goebel)
At ftp.uni-paderborn.de in /amiga/amok you can get all the disks from the
AMOK series via anonymous ftp. Please download only 18.00 - 8.00 h
(MET), cause the transmitt rate is low. Perhaps someone call move the
disks to overseas, too.
On this series there are several modules both for Oberon and modula2 and
executable programms (most with source). While the Programms almost run
only on the Amiga, the modules may be interesting for other systems, too.
There are modules for many diverent usages, not only generic.
MAS Modula-2 Algebra System
From: kredel@unipas.fmi.uni-passau.de (Heinz Kredel)
MAS is an experimental computer algebra system combining imperative
programming facilities with algebraic specification capabilities for
design and study of algebraic algorithms. MAS views mathematics in the
sense of universal algebra and model theory and is in some parts
influenced by category theory.
MAS (0.3x and 06.x) is available on electronic networks (internet) via
anonymous ftp from: alice.fmi.uni-passau.de = 123.231.10.1
Repertoire and other software component libraries
PMI
P.O. Box 8402 3279 N. Nicolet Drive
Green Bay, WI 54308-8402 Green Bay, WI 54311
U.S.A.
PMOS is a collection of modules to allow you to write multitasking
programs. It runs on IBM-PC compatible computers. It has been
compiled with TopSpeed Modula-2. Porting to other machines and
compilers is possible, but should probably be tackled only by
experienced programmers.
PMOS - a multitasking library (ftp.psg.com)
The package is potentially of interest to
- people who want to write real-time applications for the IBM-PC;
- Modula-2 programmers who want a collection of utility modules;
- students of operating systems who want to look at real code.
Full source is included.
The PMOS package includes
- a kernel which contains a CreateTask procedure, plus various
routines to support the multitasking.
- intertask communication via semaphores, mailboxes, queues;
or you can add your own mechanisms.
- device drivers for keyboard, printer, A/D, floppy disk, hard
disk, hardware timer. (No mouse as yet.)
- a file system compatible with the MS-DOS FAT system; or you
can choose to use standard library file operations.
- screen windows in both text and graphics modes. (The text-mode
support is very complete; graphics modes are less fully
supported so far.)
- screen utilities such as menus, on-screen editing of defined
data fields, multiple virtual screens.
- miscellaneous modules: random numbers, some data structures,
sorting, etc.
9) Some Popular FTP sites:
neptune.inf.ethz.ch
gatekeeper.dec.com
ftp.psg.com
titania.mathematik.uni-ulm.de
i44s10.ira.uka.de
-30-
--
randy@psg.com ...!uunet!m2xenix!randy